var InputMethod = GownFullModule.extend({
	ime: null,
	last_functional: null,

	constructor: function() {},
	init_module: function(ime,modman)
	{
		this.ime = ime;
		return true;
	},
	/* IMName: This function should return the display name of
	   the input method.
	*/
	IMName: function()
	{
		return 'BaseClass';
	},
	module_name: function()
	{
		return 'InputMethod';
	},
	GetLanguage: function()
	{
		return null;
	},
	GetMenuNode: function()
	{
		return null;
	},
	IsSelectionPreedit: function()
	{
		return false;
	},
	/* keydown_handler: 
           return true if the key is not handled by the InputMethod.
           return false if the key is handled by the InputMethod.
	*/
	keydown_handler: function(obj,key,modifiers)
	{
		return true;
	},
	/* keyup_handler: 
           return true if the key is not handled by the InputMethod.
           return false if the key is handled by the InputMethod.
	*/
	keyup_handler: function(obj,key,modifiers)
	{
		return true;
	},
	/* keypress_handler: 
           return true if the key is not handled by the InputMethod.
           return false if the key is handled by the InputMethod.
	*/
	keypress_handler: function(obj,key,modifiers)
	{
		return true;
	},
	onPushState: function(context)
	{
		return true;
	},
	onPopState: function(context)
	{
		return true;
	},
	onActive: function()
	{
		return true;
	},
	onDeactive: function()
	{
		return true;
	},
	onSelectionModeResetPreedit: function()
	{
		return true;
	}
});

